package com.example.demo.controller;

import com.example.demo.dao.StuJpaDao;
import com.example.demo.entity.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

//@RestController 使用这个注解，返回的是一个字符窜  page
@Controller   //使用这个注解，返回page.html
@RequestMapping("/thymeleaf")//给该类的所有路径添加前缀
public class ThymeleafController {
    @Autowired
    StuJpaDao stuJpaDao;

    //简单跳转到一个页面的接口
    @GetMapping("/toPage")
    public String toPage() {
        return "page";//跳转到/templates/page.html这个文件
    }


    //显示数据库里面的一个学生的信息
    @GetMapping("/toPage1")
    public String toPage1(Model model,int id) {
        Student student = stuJpaDao.findById(id).get();//调用数据库查找对应的学生信息
        model.addAttribute("aaa",student.getName());//把学生名字丢给aaa索引，page.html文件中使用aaa显示
        model.addAttribute("bbb",student.getSex());//把学生性别丢给bbb索引，page.html文件中使用bbb显示
        model.addAttribute("ccc",student);//把学生整个对象丢给ccc索引，page.html文件中使用ccc.name的方式显示
        return "page";//跳转到/templates/page.html这个文件
    }
    //RequestParam注解表示给参数设置一个默认值
    @GetMapping("/stu")
    public String stu(Model model,
                      @RequestParam(defaultValue = "") String searchName,
                      @RequestParam(defaultValue = "0") int age) {
        List<Student> list ;
        if(age==0){
            list =  stuJpaDao.findByNameContaining(searchName);
        }else {
            list = stuJpaDao.findByNameContainingAndAge(searchName,age);
        }
        model.addAttribute("list",list);//把学生列表丢给list索引，
        model.addAttribute("searchName",searchName);
        return "stu";//跳转到/templates/stu.html这个文件
    }

    @GetMapping("/stus")
    public String stus() {
        return "stus";//跳转到/templates/stu.html这个文件
    }
}
